package com.ruoyi.labsafety.service;

import java.util.List;
import com.ruoyi.labsafety.domain.LabSafetyCheckTask;

/**
 * 安全检查任务Service接口
 * 
 * @author jun.wang
 * @date 2022-04-25
 */
public interface ILabSafetyCheckTaskService 
{
    /**
     * 查询安全检查任务
     * 
     * @param instanceId 安全检查任务ID
     * @return 安全检查任务
     */
    public LabSafetyCheckTask selectLabSafetyCheckTaskById(Long instanceId);

    /**
     * 查询安全检查任务列表
     * 
     * @param labSafetyCheckTask 安全检查任务
     * @return 安全检查任务集合
     */
    public List<LabSafetyCheckTask> selectLabSafetyCheckTaskList(LabSafetyCheckTask labSafetyCheckTask);

    /**
     * 新增安全检查任务
     * 
     * @param labSafetyCheckTask 安全检查任务
     * @return 结果
     */
    public int insertLabSafetyCheckTask(LabSafetyCheckTask labSafetyCheckTask);

    /**
     * 修改安全检查任务
     * 
     * @param labSafetyCheckTask 安全检查任务
     * @return 结果
     */
    public int updateLabSafetyCheckTask(LabSafetyCheckTask labSafetyCheckTask);

    /**
     * 批量删除安全检查任务
     * 
     * @param instanceIds 需要删除的安全检查任务ID
     * @return 结果
     */
    public int deleteLabSafetyCheckTaskByIds(Long[] instanceIds);

    /**
     * 删除安全检查任务信息
     * 
     * @param instanceId 安全检查任务ID
     * @return 结果
     */
    public int deleteLabSafetyCheckTaskById(Long instanceId);

    int submitLabSafetyCheckTask(LabSafetyCheckTask labSafetyCheckTask);

    // 创建整改任务
    void createRectificationTask(Long instanceId);

    int signLabSafetyCheckTask(Long instanceId);

	int createImmediatelyTask(Long instanceId, Long labId);
	
	String selectCheckerNames(Long instanceId);
}
